package com.dragon.modules.yuegou.entity.wallet;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.CurrencyType;
import com.dragon.modules.yuegou.enums.wallet.EarlyMemberCardStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 会员预使用悦卡实体类<br>
 * 对应的表为：walt_early_member_card<br>
 * 
 * @author pbuilder generated
 * @date 2022-01-16 14:39:27
 * @company sgy
 * @version 2.0
 */
@TableName("walt_early_member_card")
@ApiModel(description = "会员预使用悦卡")
public class EarlyMemberCardEntity {

    /** 会员预使用id */
	@ApiModelProperty("会员预使用id")
	protected String id;

    /** 会员卡ID（冗余ID） */
	@ApiModelProperty("会员卡ID（冗余ID）")
	protected String memberCardId;

    /** 会员ID（冗余ID） */
	@ApiModelProperty("会员ID（冗余ID）")
	protected String memberId;

    /** 会员钱包ID */
	@ApiModelProperty("会员钱包ID")
	protected String memberWalletId;

    /** 悦卡类型ID */
	@ApiModelProperty("悦卡类型ID")
	protected String cardTemplateId;

    /** 悦卡卡号 */
	@ApiModelProperty("悦卡卡号")
	protected String cardNo;

    /** 订单号 */
	@ApiModelProperty("订单号")
	protected String orderNo;

    /** 悦卡支付前余额 */
	@ApiModelProperty("悦卡支付前余额")
	protected BigDecimal amountBefore;

    /** 支付金额 */
	@ApiModelProperty("支付金额")
	protected BigDecimal amount;

    /** 悦卡支付后余额 */
	@ApiModelProperty("悦卡支付后余额")
	protected BigDecimal amountAfter;

    /** 版本 */
	@ApiModelProperty("版本")
	protected Integer version;

    /** [枚举]使用状态：0-未使用-UNUSED、1-已使用-USD、2-已回退-RETURNED */
	@ApiModelProperty("[枚举]使用状态：0-未使用-UNUSED、1-已使用-USD、2-已回退-RETURNED")
	protected EarlyMemberCardStatus status;

    /** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

    /**  */
	protected LocalDateTime modifiedTime;

    /** [全局枚举]币种：1-福利卡-YUE_CARD_GRANTED、2-预付卡-YUE_CARD_BOUGHT */
	@ApiModelProperty("[全局枚举]币种：1-福利卡-YUE_CARD_GRANTED、2-预付卡-YUE_CARD_BOUGHT")
	protected CurrencyType currencyType;

    /** 企业id */
	@ApiModelProperty("企业id")
	protected String companyId;

    /** 企业名称 */
	@ApiModelProperty("企业名称")
	protected String companyName;

	/**
	 * 构造一个空会员预使用悦卡实体对象
	 */
	public EarlyMemberCardEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个会员预使用悦卡实体对象
	 * 
	 * @param other 其它对象
	 */
	public EarlyMemberCardEntity(EarlyMemberCardEntity other){
		super();
     	this.id = other.id;
     	this.memberCardId = other.memberCardId;
     	this.memberId = other.memberId;
     	this.memberWalletId = other.memberWalletId;
     	this.cardTemplateId = other.cardTemplateId;
     	this.cardNo = other.cardNo;
     	this.orderNo = other.orderNo;
     	this.amountBefore = other.amountBefore;
     	this.amount = other.amount;
     	this.amountAfter = other.amountAfter;
     	this.version = other.version;
     	this.status = other.status;
     	this.createdTime = other.createdTime;
     	this.modifiedTime = other.modifiedTime;
     	this.currencyType = other.currencyType;
     	this.companyId = other.companyId;
     	this.companyName = other.companyName;
	}


	/**
	 * 获取会员预使用id
	 * 
	 * @return id 会员预使用id
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置会员预使用id
	 * 
	 * @param id 会员预使用id
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取会员卡ID（冗余ID）
	 * 
	 * @return memberCardId 会员卡ID（冗余ID）
	 */
	public String getMemberCardId() {
		return memberCardId;
	}
  	
	/**
	 * 设置会员卡ID（冗余ID）
	 * 
	 * @param memberCardId 会员卡ID（冗余ID）
	 */
	public void setMemberCardId(String memberCardId) {
		this.memberCardId = memberCardId;
	}

	/**
	 * 获取会员ID（冗余ID）
	 * 
	 * @return memberId 会员ID（冗余ID）
	 */
	public String getMemberId() {
		return memberId;
	}
  	
	/**
	 * 设置会员ID（冗余ID）
	 * 
	 * @param memberId 会员ID（冗余ID）
	 */
	public void setMemberId(String memberId) {
		this.memberId = memberId;
	}

	/**
	 * 获取会员钱包ID
	 * 
	 * @return memberWalletId 会员钱包ID
	 */
	public String getMemberWalletId() {
		return memberWalletId;
	}
  	
	/**
	 * 设置会员钱包ID
	 * 
	 * @param memberWalletId 会员钱包ID
	 */
	public void setMemberWalletId(String memberWalletId) {
		this.memberWalletId = memberWalletId;
	}

	/**
	 * 获取悦卡类型ID
	 * 
	 * @return cardTemplateId 悦卡类型ID
	 */
	public String getCardTemplateId() {
		return cardTemplateId;
	}
  	
	/**
	 * 设置悦卡类型ID
	 * 
	 * @param cardTemplateId 悦卡类型ID
	 */
	public void setCardTemplateId(String cardTemplateId) {
		this.cardTemplateId = cardTemplateId;
	}

	/**
	 * 获取悦卡卡号
	 * 
	 * @return cardNo 悦卡卡号
	 */
	public String getCardNo() {
		return cardNo;
	}
  	
	/**
	 * 设置悦卡卡号
	 * 
	 * @param cardNo 悦卡卡号
	 */
	public void setCardNo(String cardNo) {
		this.cardNo = cardNo;
	}

	/**
	 * 获取订单号
	 * 
	 * @return orderNo 订单号
	 */
	public String getOrderNo() {
		return orderNo;
	}
  	
	/**
	 * 设置订单号
	 * 
	 * @param orderNo 订单号
	 */
	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	/**
	 * 获取悦卡支付前余额
	 * 
	 * @return amountBefore 悦卡支付前余额
	 */
	public BigDecimal getAmountBefore() {
		return amountBefore;
	}
  	
	/**
	 * 设置悦卡支付前余额
	 * 
	 * @param amountBefore 悦卡支付前余额
	 */
	public void setAmountBefore(BigDecimal amountBefore) {
		this.amountBefore = amountBefore;
	}

	/**
	 * 获取支付金额
	 * 
	 * @return amount 支付金额
	 */
	public BigDecimal getAmount() {
		return amount;
	}
  	
	/**
	 * 设置支付金额
	 * 
	 * @param amount 支付金额
	 */
	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}

	/**
	 * 获取悦卡支付后余额
	 * 
	 * @return amountAfter 悦卡支付后余额
	 */
	public BigDecimal getAmountAfter() {
		return amountAfter;
	}
  	
	/**
	 * 设置悦卡支付后余额
	 * 
	 * @param amountAfter 悦卡支付后余额
	 */
	public void setAmountAfter(BigDecimal amountAfter) {
		this.amountAfter = amountAfter;
	}

	/**
	 * 获取版本
	 * 
	 * @return version 版本
	 */
	public Integer getVersion() {
		return version;
	}
  	
	/**
	 * 设置版本
	 * 
	 * @param version 版本
	 */
	public void setVersion(Integer version) {
		this.version = version;
	}

	/**
	 * 获取[枚举]使用状态：0-未使用-UNUSED、1-已使用-USD、2-已回退-RETURNED
	 * 
	 * @return status [枚举]使用状态：0-未使用-UNUSED、1-已使用-USD、2-已回退-RETURNED
	 */
	public EarlyMemberCardStatus getStatus() {
		return status;
	}
  	
	/**
	 * 设置[枚举]使用状态：0-未使用-UNUSED、1-已使用-USD、2-已回退-RETURNED
	 * 
	 * @param status [枚举]使用状态：0-未使用-UNUSED、1-已使用-USD、2-已回退-RETURNED
	 */
	public void setStatus(EarlyMemberCardStatus status) {
		this.status = status;
	}

	/**
	 * 获取创建时间
	 * 
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置创建时间
	 * 
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取
	 * 
	 * @return modifiedTime 
	 */
	public LocalDateTime getModifiedTime() {
		return modifiedTime;
	}
  	
	/**
	 * 设置
	 * 
	 * @param modifiedTime 
	 */
	public void setModifiedTime(LocalDateTime modifiedTime) {
		this.modifiedTime = modifiedTime;
	}

	/**
	 * 获取[全局枚举]币种：1-福利卡-YUE_CARD_GRANTED、2-预付卡-YUE_CARD_BOUGHT
	 * 
	 * @return currencyType [全局枚举]币种：1-福利卡-YUE_CARD_GRANTED、2-预付卡-YUE_CARD_BOUGHT
	 */
	public CurrencyType getCurrencyType() {
		return currencyType;
	}
  	
	/**
	 * 设置[全局枚举]币种：1-福利卡-YUE_CARD_GRANTED、2-预付卡-YUE_CARD_BOUGHT
	 * 
	 * @param currencyType [全局枚举]币种：1-福利卡-YUE_CARD_GRANTED、2-预付卡-YUE_CARD_BOUGHT
	 */
	public void setCurrencyType(CurrencyType currencyType) {
		this.currencyType = currencyType;
	}

	/**
	 * 获取企业id
	 * 
	 * @return companyId 企业id
	 */
	public String getCompanyId() {
		return companyId;
	}
  	
	/**
	 * 设置企业id
	 * 
	 * @param companyId 企业id
	 */
	public void setCompanyId(String companyId) {
		this.companyId = companyId;
	}

	/**
	 * 获取企业名称
	 * 
	 * @return companyName 企业名称
	 */
	public String getCompanyName() {
		return companyName;
	}
  	
	/**
	 * 设置企业名称
	 * 
	 * @param companyName 企业名称
	 */
	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}

    public String toString() {
		return new StringBuilder().append("EarlyMemberCardEntity{").
			append("id=").append(id).
			append(",memberCardId=").append(memberCardId).
			append(",memberId=").append(memberId).
			append(",memberWalletId=").append(memberWalletId).
			append(",cardTemplateId=").append(cardTemplateId).
			append(",cardNo=").append(cardNo).
			append(",orderNo=").append(orderNo).
			append(",amountBefore=").append(amountBefore).
			append(",amount=").append(amount).
			append(",amountAfter=").append(amountAfter).
			append(",version=").append(version).
			append(",status=").append(status).
			append(",createdTime=").append(createdTime).
			append(",modifiedTime=").append(modifiedTime).
			append(",currencyType=").append(currencyType).
			append(",companyId=").append(companyId).
			append(",companyName=").append(companyName).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public EarlyMemberCardEntity copy() {
		return new EarlyMemberCardEntity(this);
	}

    /** 会员预使用id */
	public static final String COL_ID = "id";

    /** 会员卡ID（冗余ID） */
	public static final String COL_MEMBER_CARD_ID = "member_card_id";

    /** 会员ID（冗余ID） */
	public static final String COL_MEMBER_ID = "member_id";

    /** 会员钱包ID */
	public static final String COL_MEMBER_WALLET_ID = "member_wallet_id";

    /** 悦卡类型ID */
	public static final String COL_CARD_TEMPLATE_ID = "card_template_id";

    /** 悦卡卡号 */
	public static final String COL_CARD_NO = "card_no";

    /** 订单号 */
	public static final String COL_ORDER_NO = "order_no";

    /** 悦卡支付前余额 */
	public static final String COL_AMOUNT_BEFORE = "amount_before";

    /** 支付金额 */
	public static final String COL_AMOUNT = "amount";

    /** 悦卡支付后余额 */
	public static final String COL_AMOUNT_AFTER = "amount_after";

    /** 版本 */
	public static final String COL_VERSION = "version";

    /** [枚举]使用状态：0-未使用-UNUSED、1-已使用-USD、2-已回退-RETURNED */
	public static final String COL_STATUS = "status";

    /** 创建时间 */
	public static final String COL_CREATED_TIME = "created_time";

    /**  */
	public static final String COL_MODIFIED_TIME = "modified_time";

    /** [全局枚举]币种：1-福利卡-YUE_CARD_GRANTED、2-预付卡-YUE_CARD_BOUGHT */
	public static final String COL_CURRENCY_TYPE = "currency_type";

    /** 企业id */
	public static final String COL_COMPANY_ID = "company_id";

    /** 企业名称 */
	public static final String COL_COMPANY_NAME = "company_name";
}
